#!/bin/bash
# 自动部署脚本 for /data/apps/lucky7_backend/lucky7_gallery_backend
# 使用方法：bash deploy.sh
# 定义工作目录
WORK_DIR="/data/apps/lucky7_backend/lucky7_gallery_backend"

# 进入工作目录
cd "$WORK_DIR" || { echo "错误：目录 $WORK_DIR 不存在"; exit 1; }

echo "===== 开始更新代码 ====="
git pull

echo "当前脚本PID: $BASHPID"

echo "===== 清理现有进程 ====="
# 使用安全模式查找并终止进程（排除grep自身进程）
if pgrep -f 'lucky7_gallery_backend' > /dev/null; then
    echo "发现正在运行的'lucky7_gallery_backend'相关进程，正在清理..."
    # 获取当前脚本的PID（$BASHPID在bash中更准确）
    current_pid=$BASHPID
    # 查找并显示要终止的进程（排除自身）
    pgrep -f 'lucky7_gallery_backend' | grep -v "$current_pid" | xargs -r echo "终止进程 PID:"
    # 终止进程（排除自身）
    pgrep -f 'lucky7_gallery_backend' | grep -v "$current_pid" | xargs -r kill -9
    sleep 2  # 等待进程释放资源
else
    echo "未检测到正在运行的'lucky7_gallery_backend'相关进程"
fi

echo "===== 启动服务 ====="
nohup java -jar $WORK_DIR/target/lucky7_gallery_backend.jar > /dev/null 2>&1 &

# 保持脚本持续运行（如果需要守护进程建议使用systemd）
# tail -f /dev/null